package com.chenfan.mcn.model.vo;

import com.chenfan.mcn.enums.ArchivingStatusEnum;
import com.chenfan.mcn.enums.StarRebateStatusEnum;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Objects;

/**
 * 红人返点合同列表VO
 *
 * @author wulg
 * @date 2021-11-17
 **/
@Data
public class StarRebateContractListVO implements Serializable {

    private static final long serialVersionUID = 5134491094075734607L;

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 合同编号
     */
    private String contractCode;

    /**
     * 单据状态：0_待提交、1_审批中、2_待回款、3_审批拒绝、4_已撤回、5_部分回款、6_全部回款、9_已作废
     */
    private Integer approvalStatus;

    /**
     * 单据状态名称
     */
    private String approvalStatusName;

    /**
     * 返点金额
     */
    private BigDecimal rebateAmount;

    /**
     * 红人ID
     */
    private Long starId;

    /**
     * 归档状态：0-待盖章，1-待归档，2-已归档
     */
    private Integer archivingStatus;

    /**
     * 归档状态名称
     */
    private String archivingStatusName;

    /**
     * 审批实例ID
     */
    private Long flowId;

    /**
     * 审批状态
     */
    private String flowStatusName;

    /**
     * 红人昵称
     */
    private String starNickname;

    /**
     * 创建人
     */
    private String createName;

    /**
     * 创建时间
     */
    private Date createDate;

    public String getApprovalStatusName() {
        if (Objects.nonNull(getApprovalStatus())) {
            return StarRebateStatusEnum.getStatusName(getApprovalStatus());
        }
        return null;
    }

    public String getArchivingStatusName() {
        if (Objects.nonNull(getArchivingStatus())) {
            return ArchivingStatusEnum.getStatusName(getArchivingStatus());
        }
        return null;
    }
}
